
package cn.bluethink.eguan.model.core;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * @title 评论和吐槽对象
 * @Copyright 苏州中科蓝迪公司所有(c)2016-2021
 * @version 0.1
 *
 * @note 修订历史： （1）liuxn于2018年8月14日构建初始版本0.1
 * （2）giszyj@126.com于2018年10月06日因有name而删除content属性
 * 删除rootObject属性，该值只有后台会用，前端不会使用
 */
public class EgComment extends EgObject {

	/**
	 * 累计被吐槽或评论次数
	 */
	private Integer count;

	/**
	 * 评论的时间
	 */
	private Date time;

	/**
	 * 进行评论和吐槽的用户
	 */
	private EgUser user;

	/**
	 * 被评论的对象，只有前端才会传值到后台，后台不返回值到前台
	 */
	@JsonInclude(JsonInclude.Include.NON_NULL)
	private EgObject obj = null;

	/**
	 * 被评论对象为评论时，该对象的评论者
	 */
	@JsonInclude(JsonInclude.Include.NON_NULL)
	private EgUser commentator;
	
	/**
	 * @since 1.0.0
	 * @roseuid 5B6D1B14029B
	 */
	public EgComment() {

	}

	public Integer getCount() {
		return count;
	}

	public void setCount(Integer count) {
		this.count = count;
	}

	public Date getTime() {
		return time;
	}

	public void setTime(Date time) {
		this.time = time;
	}

	public EgUser getUser() {
		return user;
	}

	public void setUser(EgUser user) {
		this.user = user;
	}

	public EgObject getObj() {
		return obj;
	}

	public void setObj(EgObject obj) {
		this.obj = obj;
	}
	
	public EgUser getCommentator() {
		return commentator;
	}

	public void setCommentator(EgUser commentator) {
		this.commentator = commentator;
	}

	public boolean isValidate() {
		if(this.getName() !=  null && !this.getName().trim().equals("")) {
			return this.obj != null && this.obj.isValidate() && this.obj.getType() != null && this.obj.getType().getOtid() > 0;
		}
		return false;
	}
}
